1. Field of the Invention
The present invention relates to communication between a host computer and a smartphone used as a wireless modem for the host computer, and more specifically, to multiplexed communication between the host computer and the smartphone used as a wireless modem for the host computer to implement multiple virtual channels over a transport between the host computer and the smartphone.
2. Description of the Related Art
Smartphones are typically handheld devices that integrate personal information management or other computing capabilities with mobile telephone capabilities in the same device. This includes adding mobile telephone functions to already capable Personal Digital Assistants (PDAs), or putting computing (“smart”) capabilities, such as PDA functions, into a mobile telephone.
Often, smartphones are designed for use with a host computer so that software and data on the smartphone can be managed and exchanged between the host computer and the smartphones. In addition, smartphones can often be used as a wireless modem (in so-called, “tethered mode”) for the host computer with use of appropriate dialer/modem software on the host computer, because the smartphones themselves function as wireless communication devices (such as a cellular telephone) using a cellular telephone standard such as CDMA (Code Division Multiple Access) or GSM (Global System for Mobile Communications). For management of software and data or for use as a wireless modem, smartphones typically communicate with the host computer through a transport that is based upon a certain communication protocol, such as USB (Universal Serial Bus), a serial interface, IEEE 1394 interface, etc. In addition, there is usually only a single physical transport provided between the host computer and the smartphone, due to cost constraints and for simplicity of the circuitry of the devices.
Because the transport between the host computer and the smartphone uses a specific communication protocol, software applications running on the host computer and the smartphone in conventional systems are typically designed to communicate data over the transport according to the communication protocol used for the transport. For example, a USB transport would require that the software applications running on the host computer and the smartphone communicate data over the USB transport in compliance with the USB protocol.
In addition, because there is typically only a single (or other limited number of) physical transport between the host computer and the smartphone, it is not possible for multiple applications running on the host computer and/or the smartphone to exchange data over the transport simultaneously. For example, if the dialer application on the host computer is running to use the smartphone as a wireless modem for the host computer, then other applications on the host computer cannot exchange data with the smartphone over the transport because the dialer application would be exclusively using the transport.
Therefore, there is a need for a transport agnostic communication method over a transport between the host computer and the smartphone so that software applications running on the host computer or the smartphone need not be specifically designed to exchange data over the transport in accordance with a particular communication protocol. There is also a need for a technique for sharing the transport between the host computer and the smartphone among multiple software applications running simultaneously on the host computer and/or the smartphone.